package model;

/**
 * SpawnPoint class represents a spawn point which can be
 * included in a GameLevel object. This class simply stores a
 * tile and a identifier to indicate what kind of game entity should
 * be spawned at tile.
 * 
 * @author Alexander Craig
 */
public class SpawnPoint {
	/** stores the tile which this spawn point should be placed at */
	private Tile spawnTile;
	/** stores what kind of game entity should be spawned at this point */
	private GameEntity gameEnt;
	
	/**
	 * Constructor for SpawnPoint objects
	 * @param spawnTile	the tile this spawn point is located at
	 * @param gameEnt	the type of game entity to spawn at this point
	 */
	public SpawnPoint(Tile spawnTile, GameEntity gameEnt) {
		this.spawnTile = spawnTile;
		this.gameEnt = gameEnt;
	}
	
	/**
	 * @return	the tile this spawn point refers to, or null if no tile is set
	 */
	public Tile getSpawnTile() {
		return spawnTile;
	}
	
	/**
	 * @return	a GameEntity defining what type of game entity should spawn at this point, or null
	 * 			if no spawn type is set
	 */
	public GameEntity getSpawnType() {
		return gameEnt;
	}
}
